<?php
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    echo '404';
    exit;
}

// 设置时区
ini_set('date.timezone', 'Asia/Shanghai');
// 指定允许其他域名访问
header('Access-Control-Allow-Origin:*');
// 响应类型
header('Access-Control-Allow-Methods:POST,GET');
// 响应头设置
header('Access-Control-Allow-Headers:*');

// 关闭系统错误处理
defined('YII_ENABLE_EXCEPTION_HANDLER') or define('YII_ENABLE_EXCEPTION_HANDLER', false);
defined('YII_ENABLE_ERROR_HANDLER') or define('YII_ENABLE_ERROR_HANDLER', false);

// 设置错误级别
errorLevel();

require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');

$config = require __DIR__ . '/../config.php';
(new yii\web\Application($config))->run();

// 设置错误级别
function errorLevel($level = 'dev')
{
    if ($level == 'prod') {
        // 所有错误写日志
        error_reporting(E_ALL);
        ini_set('display_errors', 'Off');
        ini_set("log_errors", "On");
        ini_set('error_log', '../log/' . date("YmdH") . 'php_error.log');
    } else {
        // 所有错误返回
        error_reporting(E_ALL);
        // 错误处理
        register_shutdown_function("getError");
    }
}
// 捕获错误
function getError()
{
    $err = error_get_last();
    if ($err !== NULL) {
        echo "\n \n";
        echo "errors info: \n";
        if (strpos($err['message'], "\n")) {
            $messageArr = explode("\n", $err['message']);
            $mes = $messageArr[0];
        } else {
            $mes = $err['message'];
        }
        echo "message: " . $mes . "\n";
        echo "file: " . $err['file'] .' - '.$err['line']. "\n";
        error_clear_last();
        exit;
    }
}
